#include <board_cfg.h>

void enable_s3c24x0_interrupts(int bit)
{
	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();

	irq->INTMSK &= ~(bit);
}

void disable_s3c24x0_interrupts(int bit)
{
	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();

	irq->INTMSK |= (bit);
}

void enable_s3c24x0_sub_interrupts(int bit)
{
	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();

	irq->INTSUBMSK &= ~(bit);
}

void disable_s3c24x0_sub_interrupts(int bit)
{
	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();

	irq->INTSUBMSK |= (bit);
}

void enable_s3c24x0_ext_interrupts(int bit)
{
	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();

	gpio->EINTMASK &= ~(bit);
}

void disable_s3c24x0_ext_interrupts(int bit)
{
	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();

	gpio->EINTMASK |= (bit);
}

void clear_pending(int bit)
{
	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();

	irq->SRCPND = (bit);
	irq->INTPND = (bit);
}

void clear_eint_pending(int bit)
{
	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();

	gpio->EINTPEND = (bit);
}

